﻿using FluentNHibernate.Mapping;

namespace Neturion.Dados
{
    public class MapEndereco : ClassMap<Endereco>
    {
        public MapEndereco()
        {
            Table("enderecos");
            Id(x => x.EnderecoId);
            Map(x => x.Codigo).Unique().Index("idx_Codigo");
            Map(x => x.Numero).Length(10);
            Map(x => x.Complemento);
            Map(x => x.CaixaPostal);
            Map(x => x.FlagCobranca);
            Map(x => x.FlagCorrespondencia);
            Map(x => x.FlagFaturamento);
            Map(x => x.FlagPublicacao);
            Map(x => x.Observacao).CustomSqlType("TEXT");
            Map(x => x.HoraInicial);
            Map(x => x.HoraFinal);
            References(x => x.Logradouro).Not.LazyLoad();
            HasMany<Telefone>(x => x.ListaTelefones).Not.LazyLoad();
            Map(x => x.FimVigencia);
            Map(x => x.InicioVigencia);
            Map(x => x.EnumTipoResidencia).CustomType(typeof (EnumTipoResidencia));
            References(x => x.Pessoa).Not.LazyLoad();
            References(x => x.NeturionLog).Not.LazyLoad();
        }
    }
}